System and method for performing detailed planning functions

ABSTRACT

A system, method and computer program product for performing detailed planning functions for businesses, enterprises and other types of organizations. According to an embodiment, the system comprises a graphical user interface configured to allow a user to define calculations based on data associated with an entity that may have scalar attributes for each entity, and/or a time series, and execution of the defined calculation generates time series result. According to another aspect, a calculation definition may be configured to be adjustable allowing a user to adjust parameter value(s) for each entity associated with the calculation definition. According to another aspect, a calculation definition may be configured to be discretionary allowing a user to attach or assign a calculation to each entity individually. According to another aspect, multiple calculations may be created and have the same name.

FIELD OF THE INVENTION

The present invention relates to computer systems and more particularly,to a system and method for performing detailed planning functions forbusinesses and other types of organizations or enterprises.

BACKGROUND OF THE INVENTION

Businesses, commercial entities and other types of enterprises involve avariety of activities and resources. These activities often overlap interms of resources, personnel, internal and/or external procedures,regulatory regimes, etc. For example, in the context of personnel,planning typically deals with determining future needs for employeeresources according to an organization's operational and strategicdemands. Personnel planning typically involves the processing andhandling of many variables and different types of information. Sincepersonnel costs have a direct impact on the bottom line of almost allorganizations, personnel planning is a critical function.

Personnel planning typically involves many variables, numerous payrollcalculations, and analysis of often sensitive personnel data. Similarly,other types of resources or activities associated with an organizationor enterprise will require similar considerations for performingplanning functions.

Accordingly, there remains a need for improvements in the art.

BRIEF SUMMARY OF THE INVENTION

The present invention is directed to a method and system for performingdetailed planning functions for businesses and other types ofenterprises.

According to an embodiment, the present invention comprises a system andmethod for performing personnel planning functions based on personneldata and/or enterprise data for determining needs and costs forpersonnel according to an organization's strategic and/or operationalconcerns.

According to one embodiment, the present invention comprises a systemfor defining and executing one or more calculations associated with aplanning process for an entity, the system comprises: a user interfacemodule configured for a user machine; a server being operatively coupledto the user machine and comprising a processor, and an entities moduleand a calculations module operatively coupled to the processor; the userinterface module being operatively coupled to the processor andcomprising a screen configured to be responsive to one or more inputsfor defining a calculation associated with a planning process for theentity comprising processing selected data retrieved from the entitiesmodule or the calculations module; the processor comprising acalculation engine, and the calculation engine being configured toexecute the calculation defined according to the user interface, andgenerate one or more results associated with the process definition; andthe server comprising calculation results module operatively coupled tothe calculation engine and configured to receive the one or morecalculation results.

According to another embodiment, the present invention comprises agraphical user interface display system operatively coupled to aprocessor for defining a planning calculation for an entity based ondata stored in an entities database and storing the planning calculationin a calculations database, the graphical user interface display systemcomprises: a menu-bar having a calculation definition tab configured tobe responsive to an input from a user; the definition tab beingconfigured to display a calculation definition screen in response to theuser input, the calculation definition screen comprising a generaldefinition panel and a timing configuration panel; the generaldefinition panel comprising a calculation control configured to beresponsive to a user input for selecting a calculation, a calculationtype control configured to be responsive to a user input for specifyinga calculation type for the selected calculation, and a target controlconfigured to be responsive to a user input for selecting a targetdatabase for storing results associated with the calculation; the timingconfiguration panel comprising a start period control configured todefine a start period for a time vector and an end period controlconfigured to define an end period for the time vector.

According to another embodiment, the present invention comprises acomputer-implemented method for defining a calculation associated withan entity for performing a planning process, the method comprises thesteps of: selecting an entity from a plurality of entities, wherein eachof the plurality of entities includes an entity record stored in anentities database module, and the entity record comprises dataassociated with the entity; providing a graphical user interfaceconfigured to define the calculation associated with the selectedentity; defining the calculation with one or more conditionalparameters; executing the calculation by applying the one or moreconditional parameters to the data associated with the entity;generating a time series based result based on the execution of thecalculation; and storing the time series based result in a calculatedcosts database.

According to another embodiment, the present invention comprises anon-transitory computer-readable storage medium with an executableprogram stored thereon, wherein the program instructs a microprocessorto perform the following steps: selecting an entity from a plurality ofentities, wherein each of the plurality of entities includes an entityrecord stored in an entities database module, and the entity recordcomprises data associated with the entity; providing a graphical userinterface configured to define the calculation associated with theselected entity; defining the calculation with one or more conditionalparameters; executing the calculation by applying the one or moreconditional parameters to the data associated with the entity;generating a time series based result based on the execution of thecalculation; and storing the time series based result in a calculatedcosts database.

Other aspects and features of the present invention will become apparentto those ordinarily skilled in the art upon review of the followingdescription of embodiments of the invention in conjunction with theaccompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings which show, byway of example, embodiments of the present invention, and in which:

FIG. 1 shows in diagrammatic form an exemplary system for operating orexecuting methods or processing operations in accordance with anembodiment of the invention;

FIG. 2 is an exemplary screen shot of a detailed planning calculationsscreen for selecting and configuring detailed planning calculations forthe system according to an embodiment of the invention;

FIG. 3 is an exemplary screen shot of an “Edit” calculation screen orwindow accessed using the Edit menu bar option on the calculationsscreen and configured for editing a calculation according to anembodiment of the present invention;

FIG. 4 is an exemplary screen shot of an “Add” calculation screen orwindow accessed using the Add menu bar option on the calculations screenand configured for editing a calculation according to an embodiment ofthe present invention;

FIG. 5 is an exemplary screen shot of a “Calculations Details” window orpanel accessed using the calculation details tab on the Edit Calculationscreen and configured for changing parameters for a calculationaccording to an embodiment of the present invention;

FIG. 6 is an exemplary screen shot of the “Calculations Details” windowor panel showing the “Source Value” parameter and the configurableparameter types for the source value according to an embodiment of thepresent invention;

FIG. 7 is an exemplary screen shot of the “Calculations Details” windowor panel showing the “Source Value” parameter configurable for a scalarvalue according to an embodiment of the present invention;

FIG. 8 is an exemplary screen shot of the “Calculations Details” windowor panel showing the “Source Value” parameter configurable as an“Attribute” according to an embodiment of the present invention;

FIG. 9 is an exemplary screen shot of the “Calculations Details” windowor panel showing the “Source Value” parameter configurable as a“Calculation” according to an embodiment of the present invention;

FIG. 10 is an exemplary screen shot of the “Calculations Details” windowor panel showing the “Source Value” parameter configurable as a “GlobalVector” according to an embodiment of the present invention;

FIG. 11 is an exemplary screen shot of the “Calculations Details” windowor panel showing the “Spread Factor” parameter and the configurableparameter types for the spread factor according to an embodiment of thepresent invention;

FIG. 12 is an exemplary screen shot of the “Calculations Details” windowor panel showing the “Spread Range” parameter and the configurableparameter types for the spread range according to an embodiment of thepresent invention;

FIG. 13 is an exemplary screen shot of an “Add Condition” window orpanel accessed using the conditions tab on the Edit Calculation screenand configured for specifying conditions for a calculation according toan embodiment of the present invention;

FIG. 14 is an exemplary screen shot of the “Add Condition” window orpanel accessed using an employee attribute condition and configured forselecting an employee attribute according to an embodiment of thepresent invention;

FIG. 15 is an exemplary screen shot of the “Add Condition” window orpanel accessed using an employee attributes condition and configured forselecting a numerical operator associated with the employee attributeaccording to an embodiment of the present invention;

FIG. 16 is an exemplary screen shot of the “Add Condition” window orpanel accessed using an employee attributes condition and configured forselecting a value for the employee attribute according to an embodimentof the present invention;

FIG. 17 is an exemplary screen shot of the “Add Condition” window orpanel accessed using an employee attributes condition and configured fordisplaying a list of one or more employee attribute values selectable bya user according to an embodiment of the present invention;

FIG. 18 is an exemplary screen shot of the “Add Condition” window orpanel accessed using an employee attributes condition comprising a“dimension member” and configured for selecting one or more membersassociated with the dimension according to an embodiment of the presentinvention;

FIG. 19 is an exemplary screen shot of a Dimensional Selector dialog boxor panel accessible from the add condition window and configured forselecting one or more members associated with the dimension according toan embodiment of the present invention;

FIG. 20 is an exemplary screen shot of the “Add Condition” window orpanel accessed using an employee attributes condition comprising type“Date” and configured for selecting a date from a graphicalrepresentation of a calendar according to an embodiment of the presentinvention;

FIGS. 21 to 23 are exemplary screen shots of the “Calculations Details”window or panel showing a configuration for setting up an exemplaryadjustable calculation according to an embodiment of the presentinvention;

FIG. 24 is an exemplary screen shot of an Employee Editor Profile Tabwindow or panel for the Calculation Editor function screen andconfigured for an exemplary employee, “New Programmer” according to anembodiment of the present invention;

FIG. 25 is an exemplary screen shot of an Employee Editor Summary Tabwindow or panel for Calculation Editor screen and configured for a“Reporting Category View” as shown according to an embodiment of thepresent invention;

FIGS. 26 to 31 are exemplary screen shots of an “Edit Calculation”screen or window accessed using the “Discretionary” tab on theCalculation Editor screen and configured for editing a “Car Allowance”calculation according to an embodiment of the present invention;

FIG. 32 is an exemplary screen shot of the detailed planningcalculations screen or window configured with the “same name” featureaccording to an embodiment of the present invention;

FIGS. 33 to 37 are exemplary screen shots of the “Edit Calculation”window or panel configured with the “same name” feature according to anembodiment of the present invention

FIG. 38 is an exemplary screen of a Calculation Editor dialog boxgenerated according to an aspect of the “same name” feature according toan embodiment of the present invention;

FIG. 39 is an exemplary screen shot of an “Edit Calculation” window orpanel accessed from the Calculation Editor screen (e.g. using theCalculation Details Tab) and configured for an exemplary FICA Taxcalculation;

FIG. 40 is an exemplary screen shot of the Employee Editor Summarywindow accessed from the Calculation Editor screen (e.g. using theSummary Tab) and configured for showing the results of the calculationof type “Tax”;

FIG. 41 is an exemplary screen shot of an “Edit Calculation” window orpanel accessed from the Calculation Editor screen (e.g. using theCalculation Details Tab) and configured for setting up an exemplarysalary “Standard Increase” calculation;

FIG. 42 is an exemplary screen shot of the “Employee Editor” window orpanel showing a configuration for editing an exemplary “StandardIncrease” calculation according to an embodiment of the presentinvention;

FIG. 43 is an exemplary screen shot of the Employee Editor Summarywindow accessed from the Calculation Editor screen (e.g. using theSummary Tab) and configured for showing the results of the calculationof type “Standard Increase”;

FIG. 44 is an exemplary screen shot of an “Edit Calculation” window orpanel accessed from the Calculation Editor screen (e.g. using theCalculation Details Tab) and configured for setting up an exemplarysalary “Anniversary Increase” calculation;

FIG. 45 is an exemplary screen shot of the “Employee Editor” window orpanel showing a configuration for editing an exemplary “AnniversaryIncrease” calculation according to an embodiment of the presentinvention;

FIG. 46 is an exemplary screen shot of the Employee Editor Summarywindow accessed from the Calculation Editor screen (e.g. using theSummary Tab) and configured for showing the results of the calculationof type “Anniversary Increase”;

FIG. 47 is an exemplary screen shot of an “Edit Calculation” window orpanel accessed from the Calculation Editor screen (e.g. using theCalculation Details Tab) and configured for an exemplary “Health CarePremium” calculation; and

FIG. 48 is an exemplary screen shot of the Employee Editor Summarywindow accessed from the Calculation Editor screen (e.g. using theSummary Tab) and configured for showing the results of the exemplary“Health Care Premium” calculation.

Like reference numerals indicate like or corresponding elements orcomponents in the drawings.

DETAILED DESCRIPTION OF THE EMBODIMENTS OF THE INVENTION

Embodiments according to the present invention are described below byway of a set of screen shots that are generated by a computer executingsoftware or code and displayed to a user of the system. The screen shotscomprise a graphical user interface and embedded logic and/or underlyingprocessors and processing functions comprising executable computer code,objects, software and other code elements for performing or executingthe functions associated with the system.

As will be described in more detail below, the present inventioncomprises embodiments of a computer-implemented system, method andcomputer program product configured for performing detailed planningfunctions and/or calculations for resources associated with anenterprise, business, or other type of organization, whether for profitor non-profit. According to one aspect, the system and method areconfigured to provide a generalized mechanism for generating plans at adetailed level for a potentially large number of entities, and as such,may be used for determining a wide variety of intra or interorganizational planning applications. In the context of the presentdescription, the system is described for a personnel planningapplication, for example, determining present or future needs forpersonnel according to an organization's strategic and operationaldemands. It will, however, be appreciated and understood thatembodiments according to the present invention have wider applicabilityto other implementations and/or resource planning applications.

According to one aspect, the invention comprises a system and methodconfigured for setting up calculations related to or associated withfunctions, operations, reporting or other activities for an enterprise,organization or other type of entity. A calculation is assigned a namein the system and comprises a time range scope, and may also include oneor more conditions that relate to the entity or an individual in theentity (e.g. employees of a software company who are programmers and arepaid on an hourly basis). According to another aspect, the time scopemay be restricted for selected entities, for example, the Benefitpremium calculations are delayed or lagged by three months for newemployees, as will be described in more detail below. According toanother aspect, the name assigned to calculations can be the same andare differentiated at a system level based on the entity (e.g. employee)or other parameters, as described in more detail below. According toanother aspect, the system is configured with a pre-defined set ofparameters, and the values of the parameters are user-definable ormodifiable. According to one aspect and in the context of a personneldetailed planning application, the parameter values comprise scalarquantities (e.g. entity attributes, such as, “Annual Salary” ornumerical values, such as “60,000”), or time series (e.g. othercalculations, such as, “Quarterly Bonus”, or inputs that vary byemployee, such as, “Shifts Worked”, or global vectors, such as, “WorkingDays per Month”, which comprises a customer-defined time series thatdoes not vary by employee. According to another aspect, a parameter fora calculation may comprise another calculation, and the system isconfigured to make the calculation on the basis of the calculationnames. According to another aspect, the system comprises logicconfigured to execute calculations that are not user-definable. Thecalculations are executed based on the parameter settings, and accordingto an implementation, the calculation result comprises a time series.

In accordance with embodiments of the present invention, a system andtechniques or methods (e.g. computer-implemented processes) aredescribed in more detail below for performing a variety of planningfunctions and/or calculations based on data stored and/or accessed fromone or more relational databases or tables and/or one or more OLAPdatabases (e.g. “cubes”).

Reference is first made to FIG. 1, which shows in diagrammatic form anexemplary operating environment and configuration for implementing andpractising a system and processes according to embodiments of thepresent invention. The operating environment according to an embodimentand indicated generally by reference 100 comprises a client/serverconfiguration. As shown, one or more clients 110, indicated individuallyby references 110 a, 110 b, 110 c, . . . , 110 n, access a serverindicated by reference 120, for example, through a network 130. Asshown, the server 120 comprises a processor indicated generally byreference 121, a calculation engine 122, an entities module 123, acalculations module 124, a calculated costs module 125, a detailedplanning module 126 and a financial data module 128. The processor 121comprises one or more computer devices that are configured in knownmanner to execute computer programs, software, objects or code, andperform or provide the functions, operations and features, as describedin more detail herein. The server 120 includes a calculation enginemodule 122, which may comprise a separate computer, computing device orprocessor configured to execute or perform (i.e., operating under storedprogram control, e.g. a computer program or software stored on acomputer readable media or medium) the functions and operations asdescribed in more detail below, or may comprise a component or module ofthe processor 121 and configured to execute or perform the functionsand/or operations, as described in more detail below. The calculationengine 122 is configured to operate either on individual entities or onmultiple entities, and the calculations or operations are performed forthe relevant entities based on the conditional nature of thecalculations, as described in more detail below.

Referring still to FIG. 1, the entities module 123 comprises a table ora view that includes a record for each entity for which planningfunctions or calculations are to be performed (for example,“Employees”). The entities module 123 is configured or implemented in acomputer-readable medium comprising a storage media or othernon-volatile memory or device. According to an exemplary implementation,each entity may include associated scalar attributes (i.e. attributesthat do not vary with time), and according to another aspect, the scalarattributes can be defined by a user utilizing a graphical user interface(GUI). The calculations module 124 includes one or more relationaltables comprising descriptions of calculations or operations defined bya user utilizing a graphical user interface. According to an embodiment,the descriptions comprise conditional elements, i.e. a calculation mayapply to a subset of the entities and/or a subset of possible timeperiods. For example, in the context of a personnel planningapplication, a calculation can be configured to calculate or determineplanned payroll taxes such as CPP premiums based on the salary of anemployee.

The calculated costs module 125 as shown in FIG. 1 according to anexemplary implementation comprises a table, for example, a virtual tableconfigured in a computer-readable medium or memory, and comprises theresults of calculations, i.e. the output generated by the calculationengine 122. The detailed planning module 126 according to an embodimentcomprises an OLAP cube. The detailed planning cube 126 is configured tobe populated with detailed data from the calculated costs module 125,and after execution of the planning operations, actual data (forexample, data from a payroll management system) which may be used forexecuting variance calculations. According to another aspect, thedetailed planning module 126 is configured to provide reporting datagenerated through the operation of the calculation engine 122. Thefinancial data module 128 according to an embodiment comprises an OLAPcube that is configured to be populated with summarized data retrievedfrom the calculated costs module 125. According to another aspect, thefinancial data module 128 is configured to provide reporting datagenerated through the operation of the calculation engine 122.

Referring again to FIG. 1, the network 130 may comprise a local areanetwork (LAN), a wide area network (WAN), the Internet or anycombination thereof. For the embodiment depicted in FIG. 1, the clients110 are connected via the Internet indicated generally by reference 130.It will be appreciated that the method and system according to thepresent invention may be practised or implemented for other networks,communication protocols and/or configurations.

As shown in FIG. 1, the server 120 is configured with a client interfacemodule or application indicated generally by reference 129. The clientinterface module 129 is configured to provide an interface with theclient machines 110. According to an embodiment, the client interfacemodule 129 is implemented with a user interface or GUI (Graphical UserInterface) which runs on each of the client machines 110 as indicatedgenerally by reference 112. According to an embodiment, the clientinterface module 129 and the user interface 112 comprise logic,processes, executable functions, graphical screens and windows,configured to provide a user with the capability to specify a detailedplanning operation or calculation, and/or parameters, definitions orother variables associated with the planning operation or calculation,as will be described in more detail below.

The operation and configuration of the detailed planning system andaccording to embodiments of the invention are described in more detailbelow with reference to the user interface and screen shots depicted inFIGS. 2 to 48.

According to an embodiment, the detailed planning processor module 128is configured with a graphical user interface or GUI comprising a“Calculations” screen or window as shown in FIG. 2 and indicatedgenerally by reference 200. According to an embodiment, the detailedplanning processor module 128 and the calculations screen 200 areconfigured to provide a user with a mechanism to configure and/or modifycalculations and other operations used the modeling, planning and/ormanagement of operations and procedures associated with an enterprise orother type of organization or entity, as will be described in moredetail below.

As shown in FIG. 2 and according to an embodiment, the calculationsscreen 200 comprises a calculations panel 210 and a menu bar 220. Thecalculations panel 210 comprises a “Name” column 212 which is configuredto display a plurality of calculation or operations associated with theplanning function or enterprise. In the context of personnel planningapplication, the calculation types comprise “Anniversary COLA Increase”,“Base Salary”, “Car Allowance”, “Cell Phone Allowance”, “EmployeeRetirement Contributions”, “FICA Tax”, “Headcount”, “Health CarePremiums”, etc. According to another aspect, multiple calculations canhave the same name, for example, there can be more than one “BaseSalary” calculation, as will be described in more detail below. As alsoshown in FIG. 2, the calculations panel 210 may include additionalcolumns associated with the calculation types or operations, forexample, an “ID” column 214, a “Scenario” column 216, a “CalculationType” column 218, and a “Comments” column 219. The menu bar 220comprises an “Add” object (e.g. a button or icon) 222, an “Edit” buttonor icon 224, a “Delete” button or icon 226, and a “Duplicate” button oricon 228. The menu bar 220 buttons are configured to be responsive toactuation by a user (e.g. in response to a mouse click or other inputdevice) and provide the functionality to manage calculations, asdescribed in more detail below.

Reference is next made to FIG. 3, which shows a screen shot of an “EditCalculation” screen or window according to an embodiment of the presentinvention and indicated generally by reference 300. According to anembodiment, the edit calculations screen 300 is accessed or displayed bythe system in response to the Edit object 224 (e.g. icon) beingactivated, e.g. “clicked” using a mouse or other type of pointingdevice. The Edit Calculation screen 300 is configured to allow a user todefine a calculation, and provides the capability to specifyattribute(s) for the calculation. As shown, the Definitions tab of theEdit Calculation screen 300 comprises a “General” dialog box or panel310, a “Timing” dialog box or panel 320 and a “Menu” toolbar 330. Thegeneral dialog box 310 is configured to provide the capability to definea detailed planning calculation or function, i.e. define or specify theattributes or parameters associated with the calculation. As shown, thegeneral dialog box 310 comprises a “Name” drop-down list box 311 forselecting a name for the calculation, a “Calculation Type” drop-downlist box 312 configured for defining the type of calculation, a“Scenario” drop-down list box 315, a “Comments” entry box 316, a“Reporting Category” drop-down list box 317, and a “Format” drop-downlist box 319. As shown, the general dialog box 310 may also include OLAPcube information, for example, cube target accounts, comprising a“Detailed Planning Cube Target Account” and a “Finance Cube TargetAccount” indicated respectively by references 313 and 314. According toan embodiment, the cube target accounts are configured as active links,e.g. HTML links and allow a user to actuate either field (for example,through a mouse click) and in response the system is configured todisplay an associated dialog box (not shown) which allows the user tospecify a target account, e.g. “(61100) Salaries”, in the DetailedPlanning Cube 126 (FIG. 1) and/or a target account, e.g. “(6000)Employee Salaries”, in the Finance Cube 128 (FIG. 1). As also shown inFIG. 3, additional user selectable controls are provided, comprising a“Discretionary” check box 341 and an “Inactive” check box 342. Thediscretionary check box 341 is configured to allow a user to configurethe calculation as a discretionary calculation as will be described inmore detail below, and the inactive check box 342 is configured to allowa user to make the calculation inactive. As also shown in FIG. 3, theEdit Calculations screen 300 includes an “OK” button or icon 350 and a“Cancel” button or icon 352. The OK button 350 is implemented in knownmanner and configured to save the user entered settings to memory whichare then utilized by the calculation engine 122 (FIG. 1) to thenconfigure the calculation or function. The Cancel button 352 is alsoimplemented in known manner and configured to allow the user to exit theEdit Calculation screen 300 without saving any of the changes orentries.

According to an embodiment, the timing dialog box 320 is configured toallow a user define one or more time vectors. According to one aspect,the detailed planning operations, i.e. calculations, are based on thetime vectors and the timing dialog box 320 is configured to allow a userto define the time scope of the time vectors using various parametersand attributes, as described in more detail below. As shown, the timingdialog box 320 includes a “Start Period” indicator field 321 and an “EndPeriod” indicator field 322. According to an embodiment, the startperiod 321 and the end period 322 indicator fields are configured asactive links, e.g. HTML links, and allow a user to actuate either field(for example, using a mouse click) and in response the system displays adialog box (not shown) which allows the user to specify or configure astart time or date and/or an end time or date. According to anotheraspect, the timing dialog box 320 is configured to allow further timeparameters to be specified, for example, a make “Adjustable” check boxselect indicated by reference 324, and an “Acquisitions wait for #periods” and a drop-down list box for specifying the number of periodsindicated by reference 325; a make “Adjustable” check box selectindicated by reference 326 and an “Acquisitions only for # periods” anda drop-down list box for specifying the number of periods indicated byreference 327; and a make “Adjustable” check box select indicated byreference 328, and a “Terminations only for # periods” and a drop-downlist box for specifying the number of periods indicated generally byreference 329, as shown in FIG. 3.

Reference is next made to FIG. 4, which shows a configuration for theEdit Calculation screen 300 according to an embodiment of the presentinvention. The Edit Calculation screen is configured as an “AddCalculation” screen, i.e. for a user to add a calculation. As describedabove, the Edit Calculation screen as described above comprises thegeneral dialog box 310, the timing dialog box 320 and the menu toolbar330, for example, as described above. In accordance with the embodiment,the “Calculation Type” drop-down list box 312 is configured with pre-setor pre-coded calculation types indicated generally by reference 412. Inthe context of a personnel planning application or implementation, thecalculation types 412 comprise “Accumulate”, “Anniversary Increase”,“Banding”, “Date Difference”, “Formula”, etc. as shown in FIG. 4. Inaccordance with the embodiment, a user selects one of the calculationtypes 412 and the system is configured to generate and/or presentparameters or attributes that are specific to the calculation type, andmay also be modified by a user as will be described in more detailbelow.

Reference is next made to FIG. 5, which shows the Edit Calculationscreen 300 configured with a “Calculation Details” dialog box or panelindicated generally by reference 500. The calculation details dialog box500 is invoked or displayed in response to the Calculation Detailsbutton or tab 334 being clicked. The calculations details dialog box 500is configured and tailored with associated parameters or attributesaccording to the type of calculation. According to an embodiment, theparameters are not user specified, but instead pre-coded or configuredin the system. The user can however change the value of the parametersfor a calculation, for example, as described in more detail below. Thecalculation details dialog box 500 depicted in FIG. 5 is configured forthe “Spread Data” calculation 412 (FIG. 4.). According to an embodiment,the spread data calculation comprises a source value parameter 510, aspread factor parameter 520 and a spread range parameter 530. Each ofthe parameters, in turn, can have multiple parameter types which areconfigured to be user selectable. For example, the source valueparameter 510 comprises a first parameter type 512 and a secondparameter type 514. The first parameter type 512 is configured to havefour user selectable parameter types: “Value”, “Attribute”,“Calculation” and “Global Vector”, as shown in FIG. 6. For the Attributeparameter type 512, the second parameter type 514 is configured to havefour user selectable parameter types: “Base Annual Salary”, “Base HourlyRate”, “FTE” and “Headcount”, as shown in FIG. 8.

According to another aspect, for the Value parameter type 512, theCalculation Details dialog box 500 is configured to allow a user toenter a scalar value in the second parameter type box 514 as shown inFIG. 7. As shown in FIG. 7, the calculations details dialog box 500includes an “Adjustable” check box 516. The adjustable check box 516 isconfigured to allow a user to flag the value parameter, i.e. the scalarvalue, as being adjustable by other users. According to an exemplaryimplementation, the calculation engine 122 (FIG. 1) is configured tooperate on time-based vectors, and a scalar value is interpreted ortreated as a time vector comprising the same value (i.e. the valueentered in the scalar field 514) in each time period. According toanother aspect, the Attribute parameter type 512 is configured to allowa user to select a scalar numerical value for the Employee attribute.The calculation engine 122 (FIG. 1) is configured to use the scalarvalue for that employee for each employee comprising the calculationoperation. As described above, the scalar value is treated by the systemas a time vector with the same value in each time period.

According to an embodiment, the system is configured to allow the userto select another calculation for the second parameter type 514 when thefirst parameter type 512 is selected as the “Calculation” parameter typeas shown in FIG. 9. For an exemplary personnel planning application orimplementation, the calculations comprise: “Base Salary”, “CarAllowance”, “Cell Phone Allowance”, “Employee Retirement Contributions”,etc. as shown in FIG. 9. The calculation engine 122 (FIG. 1) isconfigured to treat the calculations as time vectors and according toanother aspect configured to execute the calculations in a predefined orrequired order.

As shown in FIG. 10, the Global Vector parameter type 512 is configuredto allow a user to select a global vector. According to an exemplaryimplementation for a personnel planning application, the global vectorscomprise time vectors that do not vary by employee. As shown, the secondparameter type 514 for a Global Vector comprises “Standard Hours PerMonth”, “Weeks Per Month” and “Working Days Per Month”, according to anexemplary personnel planning implementation. Numerical data for a globalvector is entered from another screen, as described in more detailbelow.

Reference is next made to FIG. 11, which shows an exemplaryimplementation for the Spread Factor attribute 520 and more particularlythe spread factor parameter 522. As shown, the spread factor parameter522 is configured to have one of three parameter types: “Spread Evenly”,“Calculation” or “Global Vector. It will be appreciated that each ofthese parameters types comprise time vectors, and spread evenly is avirtual time vector with the same value in all time periods.

Reference is next made to FIG. 12, which shows an exemplaryimplementation for the “Spread Range” attribute indicated generally byreference 530 and having a parameter type comprising drop-down listindicated generally by reference 532. According to an exemplaryimplementation, the spread range parameter is configured for fourparameter types: “Spread within each calendar year”, “Spread to fullcalculation range”, “Spread within each calendar year”, “Spread withineach fiscal year” or “Spread within each fiscal quarter”, as shown inFIG. 12. It will be appreciated that the spread range parameters do notcomprise data objects (for example, values or attributes), but ratherare configured as a calculation that is to be performed by specifyingthe range across which data is to be spread. According to an exemplaryimplementation, the value that is calculated in a single time period forthe Spread Data calculation type is equal to:

${{SD}(t)} = {{{SV}(t)} \cdot \frac{{SF}(t)}{\sum\limits_{1}^{n}{{SF}\left( t_{i} \right)}}}$

Where SD(t) is the result of the calculation for time period t, SV(t) isthe value of the Source Value at time period t, SF(t) is the value ofthe Spread Factor at time period t and Σ₁ ^(n)SF(t_(i)) is the sum ofthe values of the Spread Factor for all time periods in the spread rangeof which t is a member.

For example, if a fiscal year starts in January and the spread is set tooccur within each fiscal quarter, then the calculation engine 122(FIG. 1) is configured to execute the calculations as follows:

Time Period January February March April May June Source Value 100 200200 200 300 300 Spread Factor 5 4 4 5 4 4 Calculation 38.46 61.54 61.5476.92 92.31 92.31 Result Where 38.46 = 100 * 5/(5 + 4 + 4)

Reference is next made to FIG. 13, which shows the Edit Calculationscreen 300 configured with an “Add Condition” dialog box or panelindicated generally by reference 500. The calculation details dialog box1300 is invoked or displayed in response to the Conditions tab 336 beingselected and the Add menu item being clicked. The Add Condition dialogbox 1300 is configured to allow a user to define or add a condition andother attributes to a calculation. As shown, the Add Condition dialogbox 1300 is configured with an Attribute type 1310, an Operatorparameter 1320 and a Value parameter 1330. According to an embodiment,the Attribute type 1310 comprises employee attributes selectable from adrop-down list box 1312 and include (as shown in FIG. 14): “Base AnnualSalary”, “Base Hourly Rate”, “Education”, “End Period”, “FTE”,“Headcount”, “Health Plan”, “Hire Date”, etc. It will be appreciatedthat each of the employee attributes will have an attribute type, forexample, numerical, text, date, dimension member, list, etc. As shown,the Add Condition dialog box 500 is also configured with an OK button1350 and a Cancel button 1352. According to an embodiment, the operatorparameter 1320 is configured for numerical or mathematical attributes,and comprises a drop-down list box 1322 with user-selectable numericalemployee attributes: “Equal”, “Not Equal”, “Greater Than”, “Greater Thanor Equal”, “Lesser Than” or “Lesser Than or Equal” as shown in FIG. 15.According to an embodiment, the value parameter 1330 comprises a textinput box 1332 as shown in FIG. 16 and is configured to accept anumerical value as inputted by the user. According to an embodiment, thevalue parameter 1330 comprises a “List” for the employee attribute,“Education”, and includes a plurality of user selectable check boxes1710 as shown in FIG. 17. The operator parameter 1320 can have a settingof Equal or Not Equal.

According to an embodiment for the employee attribute, “Organization”1310, the value parameter 1330 as shown in FIG. 18 comprises a“Dimension Member” type 1810. For the example depicted in FIG. 18, thedimension members 1810 comprise “Information Technology” and “HumanResources”. The operator parameter 1320 can have a setting of Equal orNot Equal. As also shown in FIG. 18, the Add Condition dialog box 1300is configured with a “Select” button or icon 1820. The select button1820 is configured to be responsive to a user actuation for displaying ascreen configured to allow the user to select one or more dimensionmembers to be associated with the attribute type 1310. According to anembodiment, the server 120 (FIG. 1) is configured to display a“Dimensional Selector” dialog box or screen indicated generally byreference 1900 as shown in FIG. 19. As shown, the dimensional selectordialog box 1900 comprises a dimension dialog box or panel 1910 and aselected dimension panel 1920. The dimension dialog box 1910 isconfigured with a GUI tree view or structure to show all the dimensionsand/or a subset of the dimensions (i.e. according to search criteriaentered in a text box or field 1912). In known manner, the GUI tree view1910 is configured with nodes and comprises a clickable buttons or iconsfor expanding and collapsing the tree view nodes to access relatedmembers (i.e. “children”). The dimension selector dialog box 1900 alsoincludes an “Enter Search Criteria” text box 1912 and a “Found Members”text display box 1914 and “OK”, “Cancel” and “Help” buttons 1916, 1917and 1919, respectively, configured to function in known manner. Theselected dimension panel 1920 is configured to display the member(s)selected from the tree structure or view, for example, “Human Resources”and “Information Technology”.

According to an embodiment and as shown in FIG. 20, the employeeattribute type 1310 includes a “Hire Date” setting, and the valueparameter 1330 is configured in the form of a “Date” and includes a“Calendar” configured as a drop-down box indicated generally byreference 2010. The operator parameter 1320 is configured to be “Equal”or “Not Equal” as also shown in FIG. 20. The user selection(s) arestored to memory or discarded using the OK button 1350 or Cancel button1352 in known manner.

Reference is next made to FIG. 21, and the Edit Calculation screen 300configured to show the method steps or operation for setting up an“adjustable calculation” according to an embodiment of the invention.According to an embodiment, an adjustable calculation is configured toallow a user to change the calculation parameter(s) that are marked asbeing adjustable by the user when the calculation is set up. For theexemplary adjustable calculation configured in the FIG. 21, thecalculation is for “Health Care Premiums” and has been configured as an“adjustable calculation” using the “Adjustable” check box 2010 in theTiming panel 320. The user has also activated the “Acquisitions wait for# periods”, i.e. by clicking check box 2020, and set the wait period to3 months, i.e. using a scroll box 2030. According to another aspect, thedefault value is set at 3 months in the scroll box 2030, and unlessadjusted by a user the value remains at 3 months. According to anotheraspect, once a calculation type has been set up as being adjustable, auser can select one of the adjustable calculations using the EmployerEditor screen 2200 which is configured with an “Adjustable” tab 2218 asshown in FIG. 22. The Employee Editor comprises a software component orobject, configured for example, as a graphical user interface screen orwindow, that allows as user to add, edit and delete the List of Entities123 (FIG. 1). The adjustable tab 2218 comprises a “Calculation”drop-down list box 2230 which is configured with one or more calculationtypes that have been configured as being adjustable. For the exampledepicted in FIG. 22, the adjustable calculations comprise “AnniversaryCOLA (Cost Of Living Allowance) Increase [73]”, “Health Care Premiums[72]” and “Standard COLA Increase [60]”.

Reference is next made to FIG. 23, which shows a screenshot of theEmployee Editor screen 2200 configured with the “Health Care Premiums[72]” adjustable calculation, i.e. selected in the calculation drop-downlist box 2230 (FIG. 22). As shown the screen or dialog box for theAdjustable tab 2218 comprises a “Timing” panel indicated generally byreference 2310. The timing panel 2310 is configured to allow a user tochange the time scope of a calculation, and according to one aspectincludes an “Acquisitions wait for # periods” time scope 2320 comprisinga check box 2322 and a scroll box 2324, an “Acquisitions only for #periods” time scope 2330 comprising a check box 2332 and a scroll box2334, and a “Terminations only for # periods” time scope 2340 comprisinga check box 2342 and a scroll box 2344 in the context of a personnelplanning application. The timing panel 2310 may also include a “Set toDefault” button 2350 which is configured for setting the selected timescope value as the default value (for example, as described above). TheEmployee Editor screen 2200 is also configured with a “Profile” tab2210, a “Summary” tab 2212, an “Actions” tab 2214, a “Discretionary” tab2216, an “Input” tab 2220 and an “Allocations” tab 2222, as described inmore detail below.

Reference is next made to FIG. 24, which shows a screen shot of aProfile window or panel 2400 generated and displayed by the system inresponse to the Profile tab 2210 being “clicked” on the Employee Editorscreen 2200 (FIG. 22). As shown, the Profile screen 2400 comprises anumber of text input boxes or fields and drop-down list boxes which arepopulated with employee specific information, such as, “Position” indrop-down list box 2410, “Hire Date” in text input box 2412, “Status” indrop-down list box 2414, and “Base Annual Salary” in text input box2416. For this exemplary employee, “New Programmer”, the employee'sposition is Accounts Payable with a start date of Mar. 1, 2012 as FullTime employee and Base Annual Salary of $50,000.

Reference is next made to FIG. 25, which shows a screen shot of aSummary window or panel 2500 generated and displayed by the system inresponse to the “Summary” tab 2212 being clicked on the Employee Editorscreen 2200 (FIG. 22). According to an embodiment, the summary window2500 is configured to summarize and display information associated withthe “relevant employee”. For this exemplary “relevant employee”, thesetting of the “Acquisitions wait for # periods” 2320 (FIG. 23) is setto two months, which means that according to the policy of theorganization, there are no “Health Care Premium” expenses for the monthsof “March” and “April” as depicted in FIG. 25. The Health Care Premiumexpense starts in “May” as also shown in FIG. 25.

According to an embodiment, the calculation engine 122 (FIG. 1) may beconfigured to apply calculation(s) to all employees or to apply thecalculation(s) to some or a restricted number of employees. According toone aspect, the General definition panel 310 (which is accessed byclicking the “Definition” tab 332) on the Edit Calculation screen 300 isconfigured with a “Discretionary” checkbox 2610 as shown in FIG. 26. Thecalculation engine 122 (FIG. 1) is configured to make the calculationbeing edited a “discretionary calculation” when the checkbox 2610 isclicked, for example, as shown in FIG. 26. According to another aspect,discretionary calculations are applied to employees not just based onconditions, but also on a one-by-one basis. According to another aspect,the calculation engine 122 (FIG. 1) can be configured for adiscretionary calculation by using the “Conditions” tab 336, whichdisplays a Conditions screen or panel 2700 of the Edit Calculationscreen 300 as shown in FIG. 27. According to this aspect, adiscretionary calculation can have one or more associated conditions.For a discretionary calculation to apply to an employee, the employeehas to meet the relevant condition(s) as configured as described aboveand also have the calculation applied on a one-by-one basis. Accordingto another embodiment, the calculation engine 122 (FIG. 1) can beconfigured to perform discretionary calculations using the “Applies To”tab 338 on the Edit Calculation screen 300. If a calculation has beenconfigured as being discretionary, then the Applies To tab 338 is activeor enabled. As shown in FIG. 28, in response to clicking the “AppliesTo” tab 338, an “Applies To” screen or panel 2800 is generated anddisplayed (i.e. by the processor 121 and/or calculation engine 122operating under software control). The “Applies To” screen 2800 as shownis configured to provide a user with the capability to select whichemployees receive the discretionary calculation from a list of employeesthat meet the conditions configured in the Conditions screen 2700 underthe Conditions tab 336 (for example, as described above). According toan exemplary GUI implementation, the employees are arranged in avertical column or list 2810 with a checkbox 2820 associated with eachof the employees for applying the discretionary calculation. Accordingto another embodiment, the system is configured to identify employeesset up with discretionary calculation(s) utilizing the “Discretionary”tab 2218 on the Employee Editor screen 2200, which is configured with aDiscretionary Calculations screen or window 2900 as depicted in FIG. 29.The discretionary calculations screen 2900 provides a mechanism foridentifying employees (i.e. the employee being edited) receivingdiscretionary calculations. The discretionary calculations screen 2900comprises an Existing Calculations panel 2910 configured to displayexisting calculations (e.g. as active objects) and a SelectedCalculations panel 2920 configured to display selected calculations(e.g. configured as active objects). For the example depicted in FIG.29, the selected discretionary calculation for the employee is “CarAllowance [54]”. The discretionary calculations screen 2900 includescontrols, e.g. “>”, “<”, “>>”, “<<”, for moving discretionarycalculation objects the between the panels 2910 and 2920.

Reference is next made to FIG. 30, and the Employee Editor screen 2200and the Inputs tab 2220. In response to actuation of the inputs tab2220, the system is configured to display a screen or window 3000 thatallows the user to enter monthly data for all calculations of type“Input” that apply to the entity being edited, as depicted in FIG. 30.The inputs type calculations screen 3000 is configured to allow a userto enter one or more monthly values as shown. According to this aspect,the “Car Allowance” calculation is of the type “Input”, and the user canenter or modify individual monthly values as indicated generally byreference 3010 in FIG. 30. Because the car allowance discretionaryallowance has been applied to the employee being edited in the EmployeeEditor screen 2200, the system is configured to display a Summarycalculations screen or window 3100 as depicted in FIG. 31, in responseto the user actuating the Summary tab 2212. As shown, the system hasdisplayed the values for the “Car Allowance” calculation and also addedthem to the values for the “Benefits Total” calculation, as indicated byreference 3110.

According to another embodiment, the system is configured (e.g. theprocessor 121 and the calculation engine 122) to process betweencalculations having the same name. It will be appreciated that incertain applications, such as personnel planning, calculations andparameters will have the same or generic names, but may comprise verydifferent calculations or parameters. For example, base salary will bedifferent for an hourly worker and a salaried employee. Reference ismade to FIG. 32, which shows the Calculations screen configured with thesame names function according to an embodiment of the invention andindicated generally by reference 3200. For the example, shown in FIG.32, there are multiple calculations named “Based Salary” as indicatedgenerally by reference 3210. However, according to another aspect, thecalculation engine 122 (FIG. 1) may be configured to referencecalculations from other calculations. As a result, the system isconfigured so that calculations having the same name are defined formultiple contexts, i.e. while multiple calculations can have the name“Base Salary”, there is only one definition of “Base Salary” for any oneemployee.

It will be appreciated that each calculation has a scope and the scopemay comprise a combination of: (1) potentially multiple values of “TimePeriod”; (2) potentially multiple values of “Scenario”; and/or (3)potentially multiple values of each user-defined “Employee Attribute”,for example, as also described above. For instance, a calculation canapply to all months (i.e. time scope), for Plan 9 (i.e. scenario scope),for all “Departments” (i.e. scope of “Department” Employee Attribute),for all Job Functions (i.e. scope of “Job Function” Employee Attribute),for all married employees (i.e. scope of “Marital Status” EmployeeAttribute). According to another aspect, calculations having the samename are configured with a non-overlapping scope. It will be appreciatedthat if calculations having the same name, the results for overlappingtime period(s) (and scenario(s)) would be ambiguously defined.

Reference is next made to FIG. 33, which shows the Edit Calculationscreen 300 and a Definition screen 3300 accessed through the Definitiontab 332. As shown, the “Base Salary” is defined in the General panel310. The Base Salary definition for this employee has “Spread Data”calculation type 3310 and an “All Scenarios” scenario scope 3320. In thecomments, the base salary is labeled as “Monthly Salary”. In Timingpanel 320, the time scope of the “Base Salary” calculation is definedwith a “Start Period” of January 2012 and an “End Period” of December2012, as indicated generally by reference 3330.

Reference is made to FIG. 34, which shows a Conditions window or dialogbox 3400 in the Edit Calculation screen 300 (accessed using theConditions tab 336). The scope(s) for all Employee Attributes aredefined under the Conditions tab 336 (as also described above). For theexample depicted in FIG. 33, the calculation comprises a “Spread Data”and is applied to employees that have the attribute “Type” equal to“Annual” as indicated generally by reference 3410. The “Type” employeeattribute comprises a list attribute (i.e. with specified text values)as described above. The scope for this “Type” attribute is “Annual”.According to another aspect, the calculation engine 122 (FIG. 1) isconfigured to define the scope as “All” for all employee attributes,i.e. the calculation applies for all values of each employee attribute.

Reference is next made to FIG. 35, which shows an Edit Calculationscreen 300 configured for defining another same name calculation, “BaseSalary”. The calculation has the name, “Base Salary”, and is definedwith type “Formula”, as indicated generally by reference 3510 in theGeneral panel 310. The scenario for this “Base Salary” calculation is“All Scenarios” and the Comments comprise “Full time monthly hourlysalary”, as indicated generally by reference 3520. The time scope forthe calculation is defined in the Timing panel 320 and for this BaseSalary calculation, the time scope is January 2012 to December 2012, asindicated generally by reference 3530. Reference is next made to FIG.36, and a screen or dialog box 3600 for the Conditions tab 336 in theEdit Calculation screen 300, which is configured for this Base Salarycalculation definition. As indicated generally by reference 3610, thisBase Salary calculation is configured to apply to employees set up witha “Type” attribute equal to “Hourly” and a “Status” attribute equal to“Full Time”. In other words, the Type scope and the Status scope forthis calculation are “Hourly” and “Full Time”, respectively. It will beappreciated that this calculation, “Base Salary”, can have the ‘samename’ as the previous calculation, “Base Salary”, because thecalculation is configured so that there is no overlap between theconditions. For instance, the employee type attribute is either “Annual”or “Hourly”, but cannot be both. Accordingly, the same name calculation,Base Salary, can be defined for all employees in the organization.

Reference is next made to FIG. 37, which shows the Edit Calculationscreen 300 and in particular an Edit Condition screen or window 3700which is invoked by clicking the Conditions tab 336 (and the “Edit”button 3702). For the exemplary calculation, the conditions for the BaseSalary calculation (or formula) have been configured and will be appliedto employees having employee Type attribute equal to “Hourly” and toemployees having employee Type attribute equal to “Annual”, as indicatedgenerally by reference 3710. The Type scope is now “Annual” and“Hourly”.

When a user attempts to save a same name calculation or formulaconfiguration, the system is configured (e.g. logic embodied in thesoftware or code executed by the processor 121 and/or calculation engine122) to check if the scope overlaps or intersects with the scope withanother calculation having the same name. If the system detects anoverlap, a Calculation Editor dialog box 3800 having the form as shownin FIG. 38 is displayed to advise the user. According to an embodiment,the calculation engine 122 (FIG. 1) is configured to execute thefollowing algorithm for same name calculations:

∃b such that {X _(a) ∩X _(b)}≠

Where b is an existing calculation, a is the calculation being saved,X_(a) is the set of all (n+2) tuples (i.e. combinations) having the form(T_(a), S_(a), A_(a,1), A_(a,2), . . . A_(a,n)), where n is the numberof Employee Attributes, T_(a) is a member of the Time scope ofcalculation a, S_(a) is a member of the Scenario scope of thecalculation a and A_(a,n) is a member of the scope of the n^(th)Employee Attribute of calculation a; and X_(b) is the set of all(n+2)-tuples (i.e. combination) of the form (T_(b), S_(b), A_(b,1),A_(b,2), . . . A_(b,n)), where T_(b) is a member of the Time scope ofcalculation b, S_(b) is member of the Scenario scope of calculation band A_(b,n) is a member of the scope of the n^(th) Employee Attribute ofcalculation b.

According to another aspect, the calculation engine 122 (FIG. 1) isconfigured to perform a number of pre-programmed calculations. In thecontext of a detailed planning application for personnel, thecalculation engine 122 is configured to execute 14 types ofcalculations. The 14 calculations according to an embodiment are listedin the Calculation Type 312 drop-down list box as shown in FIG. 4 asdescribed above.

Reference is made to FIG. 39, which shows the Edit Calculation screen300 and in particular the Calculation Details screen configured for atax calculation indicated generally by reference 3900 and accessed usingthe Calculations Details tab 334. In North American, payroll taxes tendto be complicated and comprise different payroll taxes, such as FICA,SUTA, CPP and EI, each of which will have its own characteristics. Themonthly calculated value is:

$\left( {{SV} - \left( \frac{AEA}{12} \right)} \right) \times {TR}$

Where SV is the monthly source value, AEA is the annual exemption amountand TR is the tax rate. In addition, the monthly values are adjusted sothat the cumulative amount for any one calendar year is not more than:

((AMAV−AEV−YAA)×TR)

Where AMAV is the Annual Maximum Applicable Value, AEV is the AnnualExemption Value, TR is the tax rate and YAA is the Yearly AdjustmentAmount.

Reference is next made to FIG. 40, which shows a screen shot of theSummary tab 2212 in the Employee Editor screen 2200 for the results of atax calculation indicated generally by reference 4000. In this exemplaryimplementation, the calculation comprises a FICA type calculation and aSUTA type calculation, with the results indicated generally by reference4010. In this example, the FICA tax calculation has been executed to be7.28% of each month's “Base Salary” (less a monthly exemption value ofone twelfth of 7,500 or 625) up to an annual maximum of 7.28% of 45,000less 7,500 or 2,730. For example, the January value for FICA isdetermined as follows:

(13.333−(7,500/12))×7.28% or 925

Reference is next made to FIG. 41, which shows a screen shot of theCalculation Details tab 334 in the Edit Calculation screen 300 indicatedgenerally by reference 4100. The “Standard Increase” calculation isconfigured to allow a user to specify how a time vector can be increased(or inflated) based on specified inflation values and time periods. Inthis example, the user has specified an increase of 2.25% for April 2012and the “Adjustable” parameter check box has been activated, asindicated generally by reference 4110. According to an embodiment, thecalculation engine 122 (FIG. 1) is configured to generate a time vectorthat contains the cumulative inflation rates that to be added to thesource value, as follows:

${CIR}_{n} = {{\prod\limits_{i = 1}^{n}\left( {1 + {IR}_{i}} \right)} - 1}$

Where CIR_(n) is the cumulative inflation rate at period n and IR_(i) isthe inflation rate (i.e. “% Increase”) at period i. The Source Valuetime vector is then multiplied by the cumulative inflation rate timevector. If the “Return Gross Amount” checkbox is checked, then this timevector is the result of the calculation. Otherwise, the calculationengine 122 (FIG. 1) is configured to subtract the Source Value timevector from the time vector to determine the result of the calculation,i.e. the increases due to applying this calculation to the Source Valuevector.

Reference is next made to FIG. 42, which shows a screen shot of theEmployee Editor screen 2200 configured with an Adjustable calculationsscreen or window 4200. The Adjustable calculation screen 4200 isaccessed using the Adjustable tab 2218 and comprises a Timing panel 4210and a Calculation Details panel 4220 according to an embodiment. Asshown in FIG. 42, the Adjustable calculations screen 4200 is configuredfor a standard increase type calculation, e.g. a “Standard COLAIncrease” calculation (FIG. 4). For this exemplary cost of livingadjustment calculation, the “% Increase” parameter has been configuredas being adjustable, and the adjustable calculations screen 4200 isconfigured to allow a user to edit any one of the parameter inputfields: “% Increase”, “Increase” or “Value” as indicated generally byreference 4230. When one parameter value is changed, the system isconfigured to automatically update or calculate values for the other twoparameters. According to another aspect, the calculation engine 122(FIG. 1) is configured to display or render the results of the standardincrease calculation, for example, as shown in the Summary screen 4300for the Employee Editor screen 2200 in FIG. 43. In this example, the“Standard COLA Increase” calculation has been applied to April andsubsequent months as indicated generally by reference 4310.

In FIG. 45, the Employee Editor screen 2200 is shown with an Adjustablecalculation screen 4500 configured for an anniversary increasecalculation, e.g. an “Anniversary COLA Increase” calculation. Becausethe “% Increase” for the first anniversary is configured as adjustable,the calculation engine 122 (FIG. 1) allows the user to adjust or editany one of the “% Increase”, “Increase” or “Value” parameters, forexample, as described above. The results for the “Anniversary Increase”calculation are generated by the calculation engine and also graphicallydisplayed on the Summary screen under the Summary tab 2212, for exampleas shown in FIG. 46, and indicated generally by reference 4600.

Reference is next made to FIG. 44, which shows the Edit Calculationscreen 300 with a Calculation Details screen 4400 configured for an“Anniversary Increase” calculation type and accessed using theCalculations Details tab 334. For the Anniversary Increase calculationtype, the Calculation Details screen 4400 is configured to allow a userto specify how a time vector can be increased (i.e. inflated) based onspecified inflation values and/or time periods comprising anniversariesof a date. For the example depicted in FIG. 44, the user has specifiedan increase for the first two anniversaries 4410 of an employee's “HireDate” 4420 and the “% Increase” parameter for the first anniversary hasbeen flagged as being “Adjustable” 4430. The calculation engine 122(FIG. 1) is configured to generate a time vector comprising cumulativeinflation rates that are applied to the “Source Value”, in this example,“Base Salary” 4440.

Reference is next made to FIG. 47, which shows the Edit Calculationscreen 300 with a Calculation Details screen 4700 configured for a“Lookup” calculation type (FIG. 4). The Calculation Details screen 4700is accessed using the Calculations Details tab 334. In this example, theCalculation Details screen 4700 is configured for calculating “HealthPlan” Premiums, and the “Source Value” is Employee Attribute 4720 (i.e.of type list) “Health Plan” 4710. The Calculation Details screen 4700 isconfigured to allow a user to enter data in rows that correspond to theList Values of the Source Value parameter, and the columns correspond tothe time periods of the Time Scope of the calculation, as indicatedgenerally by reference 4730. According to another aspect, thecalculation engine 122 (FIG. 1) is configured to display or render theresults of the “Health Care Premiums” Lookup calculation, for example,as shown in the Summary screen 4800 for the Employee Editor screen 2200in FIG. 48. In this example, the calculation engine 122 has calculatedthe “Health Care Premiums” by using the Health Plan Employee attributeto identify which row in the definition of the Health Plan Premiumscalculation is to be used as the calculation result, as indicatedgenerally by reference 4810.

According to the embodiments described above, the system comprises agraphical user interface that is configured to provide users with thefunctionality to define calculations and other operations associatedwith detailed planning for an entity. The system/GUI (and underlying orembedded logic and control) is configured (e.g. operating under softwarecontrol) for generating a calculated time series based on scalarattributes for each entity and/or time series. For example in thecontext of personnel detailed planning, the system is configured togenerate a time series of monthly salary amounts based on a monthlysalary value for an employee, a date for a salary increase and/or the %of the increase. According to another aspect, the system/GUI isconfigured to provide users with the functionality to definecalculations that manipulate time series for each entity. For example,in the context of personnel planning, the system is configured togenerate monthly payroll taxes from monthly salary amounts for eachemployee in the organization. According to another aspect, thesystem/GUI is configured to provide users with the functionality tooptionally flag calculation parameters as being “Adjustable”, whichallows users to adjust the parameter value for each entity beingcalculated. For example, in the context of personnel detailing planning,the system is configured to perform a calculation with a bonus of $1000,then making the calculation adjustable, allows the user to change andtry different bonus amounts. According to another aspect, the system/GUIis configured to provide a user with the capability to optionally flagcalculations as being “Discretionary”, which means that a user canattach a calculation to each entity individually. For example, in thecontext of personnel detailing planning, the system is configured toprovide a user with the capability to decide which employees arepermitted to have mobile phone costs associated with them. According toanother aspect, the system/GUI is configured to provide users with apre-defined set of calculation types, for example, a “Spread”calculation that is configured to take an annual amount and spread theamount to months based on drivers defined using the GUI. The result ofeach calculation comprises a time series. Each pre-defined calculationcomprises one or more set parameters. According to another aspect, thesystem/GUI is configured to provide users with the capability to definethe calculation scope for a calculation and the conditional applicationto entities based on selected attributes of the entity. For example, inthe context of personnel detailing planning, the system is configured toapply hourly rates to only hourly paid employees for salarycalculations, or to apply Canadian pension calculations only to Canadianemployees. It will be appreciated that this functionality provides thecapability to define conditional sets of calculations, for example, adifferent tax rate for each province or state. According to anotheraspect, the system/GUI is configured to provide users with thecapability to use the same name for multiple calculations, provided thescope of the calculations do not intersect. For example, the system isconfigured to execute multiple calculations for “Earnings”. The systemcalculates “Earnings” for annually paid or salaried employeesdifferently than “Earnings” for hourly paid employees. In this example,an employee cannot be both an hourly paid employee and a salariedemployee. According another aspect, the common or same calculation canbe used by the system as a parameter in a dependent calculation. Forexample, in the context of personnel detailing planning, the system canbe configured to execute a “Payroll Taxes” calculation using the“Earnings” calculation as a parameter, even if there are multiplecalculation definitions with the same name “Earnings”.

The functionality and features associated with the processor orprocessing module 121 (FIG. 1), the calculation engine or module 122(FIG. 1), and/or the server 120 (FIG. 1) and/or the client machines 110(FIG. 1) and/or the graphical user interface (GUI) screens or windows112 for the detailed planning system (FIGS. 2 to 50) as described aboveand in accordance with the embodiments may be implemented in the form ofone or more software objects, components, or computer programs orprogram modules in the server and/or the client machines, and stored orembedded on a computer readable media, such as a disk, or other type ofnon-volatile memory or storage media. Further, at least some or all ofthe software objects, components or modules can be hard-coded intoprocessing units, programmable devices, and/or read only memories orother non-volatile storage media in the mobile communication device,server and/or other components or modules depicted in the drawings. Thespecific implementation details of the software objects and/or programmodules will be within the knowledge and understanding of one skilled inthe art.

The present invention may be embodied in other specific forms withoutdeparting from the spirit or essential characteristics thereof. Certainadaptations and modifications of the invention will be obvious to thoseskilled in the art. Therefore, the presently discussed embodiments areconsidered to be illustrative and not restrictive, the scope of theinvention being indicated by the appended claims rather than theforegoing description, and all changes which come within the meaning andrange of equivalency of the claims are therefore intended to be embracedtherein.

1. A system for defining and executing one or more calculationsassociated with a planning process for an entity, said systemcomprising: a user interface module configured for a user machine; aserver being operatively coupled to said user machine and comprising aprocessor, and an entities module and a calculations module operativelycoupled to said processor; said user interface module being operativelycoupled to said processor and comprising a screen configured to beresponsive to one or more inputs for defining a calculation associatedwith a planning process for said entity comprising processing selecteddata retrieved from said entities module or said calculations module;said processor comprising a calculation engine, and said calculationengine being configured to execute said calculation defined according tosaid user interface, and generate one or more results associated withsaid process definition; and said server comprising calculation resultsmodule operatively coupled to said calculation engine and configured toreceive said one or more calculation results.
 2. The system as claimedin claim 1, wherein said calculation results module further comprises adatabase configured for storing financial based results and a databaseconfigured for storing detailed planning data.
 3. The system as claimedin claim 1, wherein said entities module a computer-readable storagemedia configured with a table comprising a record for a plurality ofentities, wherein each of said plurality of entities comprises a processdefinition including a detailed planning calculation.
 4. The system asclaimed in claim 3, wherein said calculations module comprises acomputer-readable storage media configured with one or more relationaltables comprising one or more of said process definitions defined bysaid user.
 5. The system as claimed in claim 4, wherein said processdefinitions comprise conditional calculations configured to apply toselected entities or for a selected time period.
 6. The system asclaimed in claim 2, wherein said calculation results module comprises acomputer-readable storage media configured with a table for storing saidone or more results.
 7. The system as claimed in claim 6, wherein saidfinancial based results database comprises an OLAP cube configured to bepopulated with data comprising summarized data from said calculationsresults module.
 8. The system as claimed in claim 7, wherein saiddetailed planning database comprises an OLAP cube configured to bepopulated with data comprising detailed planning data from saidcalculations results module.
 9. The system as claimed in claim 8,wherein said detailed planning data comprises data generated fromexecution of one or more calculations associated with said processdefinition, and comprises data for executing further calculationsincluding variance calculations.
 10. The system as claimed in claim 1,wherein said user interface module is configured to allow a user todefine a plurality of calculations with a calculation name that is thesame. 11-29. (canceled)